package com.ruoyi.square.like.mapper;

import java.util.List;

import com.ruoyi.square.comment.domain.Comment;
import com.ruoyi.square.like.domain.Like;
import org.apache.ibatis.annotations.Param;

/**
 * 点赞功能Mapper接口
 * 
 * @author myd
 * @date 2025-06-07
 */
public interface LikeMapper 
{
    /**
     * 查询点赞功能
     * 
     * @param likeId 点赞功能主键
     * @return 点赞功能
     */
    public Like selectLikeByLikeId(Long likeId);

    /**
     * 查询点赞功能列表
     * 
     * @param like 点赞功能
     * @return 点赞功能集合
     */
    public List<Like> selectLikeList(Like like);

    /**
     * 新增点赞功能
     * 
     * @param like 点赞功能
     * @return 结果
     */
    public int insertLike(Like like);

    /**
     * 修改点赞功能
     * 
     * @param like 点赞功能
     * @return 结果
     */
    public int updateLike(Like like);

    /**
     * 删除点赞功能
     * 
     * @param likeId 点赞功能主键
     * @return 结果
     */
    public int deleteLikeByLikeId(Long likeId);

    /**
     * 批量删除点赞功能
     * 
     * @param likeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLikeByLikeIds(Long[] likeIds);

    List<Like> selectLikeListByIds(@Param("array") Long[] likeIds);

    /**
     * 根据用户和内容查询点赞记录
     */
    Like selectLikeByUserAndContent(
            @Param("userId") Long userId,
            @Param("dynamicId") Long dynamicId,
            @Param("commentId") Long commentId
    );

}
